home *** CD-ROM | disk | FTP | other *** search
-
-
-
- BBBBIIIISSSSOOOONNNN((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((llllooooccccaaaallll)))) BBBBIIIISSSSOOOONNNN((((1111))))
-
-
-
- NNNNAAAAMMMMEEEE
- bison - GNU Project parser generator (yacc replacement)
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- bbbbiiiissssoooonnnn [ ----bbbb _f_i_l_e-_p_r_e_f_i_x ] [ --------ffffiiiilllleeee----pppprrrreeeeffffiiiixxxx====_f_i_l_e-_p_r_e_f_i_x ] [ ----dddd
- ] [ --------ddddeeeeffffiiiinnnneeeessss ] [ ----kkkk ] [ --------ttttooookkkkeeeennnn----ttttaaaabbbblllleeee ] [ ----llll ] [ --------nnnnoooo----lllliiiinnnneeeessss
- ] [ ----nnnn ] [ --------nnnnoooo----ppppaaaarrrrsssseeeerrrr ] [ ----oooo _o_u_t_f_i_l_e ] [ --------oooouuuuttttppppuuuutttt----
- ffffiiiilllleeee====_o_u_t_f_i_l_e ] [ ----pppp _p_r_e_f_i_x ] [ --------nnnnaaaammmmeeee----pppprrrreeeeffffiiiixxxx====_p_r_e_f_i_x ] [ ----rrrr ]
- [ --------rrrraaaawwww ] [ ----tttt ] [ --------ddddeeeebbbbuuuugggg ] [ ----vvvv ] [ --------vvvveeeerrrrbbbboooosssseeee ] [ ----VVVV ] [
- --------vvvveeeerrrrssssiiiioooonnnn ] [ ----yyyy ] [ --------yyyyaaaacccccccc ] [ ----hhhh ] [ --------hhhheeeellllpppp ] [ --------ffffiiiixxxxeeeedddd----
- oooouuuuttttppppuuuutttt----ffffiiiilllleeeessss ] file
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _B_i_s_o_n is a parser generator in the style of _y_a_c_c(1). It
- should be upwardly compatible with input files designed for
- _y_a_c_c.
-
- Input files should follow the _y_a_c_c convention of ending in
- ....yyyy. Unlike _y_a_c_c, the generated files do not have fixed
- names, but instead use the prefix of the input file. For
- instance, a grammar description file named ppppaaaarrrrsssseeee....yyyy would
- produce the generated parser in a file named ppppaaaarrrrsssseeee....ttttaaaabbbb....cccc,
- instead of _y_a_c_c's yyyy....ttttaaaabbbb....cccc.
-
- This description of the options that can be given to _b_i_s_o_n
- is adapted from the node IIIInnnnvvvvooooccccaaaattttiiiioooonnnn in the bbbbiiiissssoooonnnn....tttteeeexxxxiiiinnnnffffoooo
- manual, which should be taken as authoritative.
-
- _B_i_s_o_n supports both traditional single-letter options and
- mnemonic long option names. Long option names are indicated
- with -------- instead of ----. Abbreviations for option names are
- allowed as long as they are unique. When a long option
- takes an argument, like --------ffffiiiilllleeee----pppprrrreeeeffffiiiixxxx, connect the option
- name and the argument with ====.
-
- OOOOPPPPTTTTIIIIOOOONNNNSSSS
- ----bbbb _f_i_l_e-_p_r_e_f_i_x
- --------ffffiiiilllleeee----pppprrrreeeeffffiiiixxxx====_f_i_l_e-_p_r_e_f_i_x
- Specify a prefix to use for all _b_i_s_o_n output file
- names. The names are chosen as if the input file were
- named _f_i_l_e-_p_r_e_f_i_x....cccc.
-
- ----dddd
- --------ddddeeeeffffiiiinnnneeeessss
- Write an extra output file containing macro definitions
- for the token type names defined in the grammar and the
- semantic value type YYYYYYYYSSSSTTTTYYYYPPPPEEEE, as well as a few eeeexxxxtttteeeerrrrnnnn
- variable declarations.
-
- If the parser output file is named _n_a_m_e....cccc then this
- file is named _n_a_m_e....hhhh.
-
-
-
-
- Page 1 (printed 4/30/98)
-
-
-
-
-
-
- BBBBIIIISSSSOOOONNNN((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((llllooooccccaaaallll)))) BBBBIIIISSSSOOOONNNN((((1111))))
-
-
-
- This output file is essential if you wish to put the
- definition of yyyyyyyylllleeeexxxx in a separate source file, because
- yyyyyyyylllleeeexxxx needs to be able to refer to token type codes and
- the variable yyyyyyyyllllvvvvaaaallll.
-
- ----rrrr
- --------rrrraaaawwww
- The token numbers in the _n_a_m_e....hhhh file are usually the
- Yacc compatible translations. If this switch is
- specified, Bison token numbers are output instead.
- (Yacc numbers start at 257 except for single character
- tokens; Bison assigns token numbers sequentially for
- all tokens starting at 3.)
-
- ----kkkk
- --------ttttooookkkkeeeennnn----ttttaaaabbbblllleeee
- This switch causes the _n_a_m_e....ttttaaaabbbb....cccc output to include a
- list of token names in order by their token numbers;
- this is defined in the array _y_y_t_n_a_m_e. Also generated
- are #defines for _Y_Y_N_T_O_K_E_N_S, _Y_Y_N_N_T_S, _Y_Y_N_R_U_L_E_S, and
- _Y_Y_N_S_T_A_T_E_S.
-
- ----llll
- --------nnnnoooo----lllliiiinnnneeeessss
- Don't put any ####lllliiiinnnneeee preprocessor commands in the parser
- file. Ordinarily _b_i_s_o_n puts them in the parser file so
- that the C compiler and debuggers will associate errors
- with your source file, the grammar file. This option
- causes them to associate errors with the parser file,
- treating it an independent source file in its own
- right.
-
- ----nnnn
- --------nnnnoooo----ppppaaaarrrrsssseeeerrrr
- Do not generate the parser code into the output;
- generate only declarations. The generated _n_a_m_e....ttttaaaabbbb....cccc
- file will have only constant declarations. In
- addition, a _n_a_m_e....aaaacccctttt file is generated containing a
- switch statement body containing all the translated
- actions.
-
- ----oooo _o_u_t_f_i_l_e
- --------oooouuuuttttppppuuuutttt----ffffiiiilllleeee====_o_u_t_f_i_l_e
- Specify the name _o_u_t_f_i_l_e for the parser file.
-
- The other output files' names are constructed from
- _o_u_t_f_i_l_e as described under the ----vvvv and ----dddd switches.
-
- ----pppp _p_r_e_f_i_x
- --------nnnnaaaammmmeeee----pppprrrreeeeffffiiiixxxx====_p_r_e_f_i_x
- Rename the external symbols used in the parser so that
- they start with _p_r_e_f_i_x instead of yyyyyyyy. The precise list
-
-
-
- Page 2 (printed 4/30/98)
-
-
-
-
-
-
- BBBBIIIISSSSOOOONNNN((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((llllooooccccaaaallll)))) BBBBIIIISSSSOOOONNNN((((1111))))
-
-
-
- of symbols renamed is yyyyyyyyppppaaaarrrrsssseeee, yyyyyyyylllleeeexxxx, yyyyyyyyeeeerrrrrrrroooorrrr, yyyyyyyyllllvvvvaaaallll,
- yyyyyyyycccchhhhaaaarrrr, and yyyyyyyyddddeeeebbbbuuuugggg.
-
- For example, if you use ----pppp cccc, the names become ccccppppaaaarrrrsssseeee,
- cccclllleeeexxxx, and so on.
-
- ----tttt
- --------ddddeeeebbbbuuuugggg
- Output a definition of the macro YYYYYYYYDDDDEEEEBBBBUUUUGGGG into the
- parser file, so that the debugging facilities are
- compiled.
-
- ----vvvv
- --------vvvveeeerrrrbbbboooosssseeee
- Write an extra output file containing verbose
- descriptions of the parser states and what is done for
- each type of look-ahead token in that state.
-
- This file also describes all the conflicts, both those
- resolved by operator precedence and the unresolved
- ones.
-
- The file's name is made by removing ....ttttaaaabbbb....cccc or ....cccc from
- the parser output file name, and adding ....oooouuuuttttppppuuuutttt
- instead.
-
- Therefore, if the input file is ffffoooooooo....yyyy, then the parser
- file is called ffffoooooooo....ttttaaaabbbb....cccc by default. As a consequence,
- the verbose output file is called ffffoooooooo....oooouuuuttttppppuuuutttt.
-
- ----VVVV
- --------vvvveeeerrrrssssiiiioooonnnn
- Print the version number of _b_i_s_o_n and exit.
-
- ----hhhh
- --------hhhheeeellllpppp
- Print a summary of the options to _b_i_s_o_n and exit.
-
- ----yyyy
- --------yyyyaaaacccccccc
- --------ffffiiiixxxxeeeedddd----oooouuuuttttppppuuuutttt----ffffiiiilllleeeessss
- Equivalent to ----oooo yyyy....ttttaaaabbbb....cccc; the parser output file is
- called yyyy....ttttaaaabbbb....cccc, and the other outputs are called
- yyyy....oooouuuuttttppppuuuutttt and yyyy....ttttaaaabbbb....hhhh. The purpose of this switch is to
- imitate _y_a_c_c's output file name conventions. Thus, the
- following shell script can substitute for _y_a_c_c:
-
- bbbbiiiissssoooonnnn ----yyyy $$$$****
-
-
- The long-named options can be introduced with `+' as well as
- `--', for compatibility with previous releases. Eventually
-
-
-
- Page 3 (printed 4/30/98)
-
-
-
-
-
-
- BBBBIIIISSSSOOOONNNN((((1111)))) UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((llllooooccccaaaallll)))) BBBBIIIISSSSOOOONNNN((((1111))))
-
-
-
- support for `+' will be removed, because it is incompatible
- with the POSIX.2 standard.
-
- FFFFIIIILLLLEEEESSSS
- /usr/local/lib/bison.simple simple parser
- /usr/local/lib/bison.hairy complicated parser
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- _y_a_c_c(1)
- The _B_i_s_o_n _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, included as the file
- bbbbiiiissssoooonnnn....tttteeeexxxxiiiinnnnffffoooo in the _b_i_s_o_n source distribution.
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- Self explanatory.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 4 (printed 4/30/98)
-
-
-
-